package lol.clann.minecraft.springboot.api.bukkit.utils;

import lol.clann.minecraft.springboot.api.bukkit.constant.FluidCollisionOptionEnum;
import lol.clann.minecraft.springboot.api.bukkit.model.RayTraceResult;
import org.bukkit.Location;
import org.bukkit.util.Vector;

/**
 *
 * @author pyz
 * @date 2019/7/8 8:55 PM
 */
public interface RayTraceUtils {
    /**
     * 光线追踪
     * @param start 起始位置
     * @param direction 方向
     * @param maxDistance 距离
     * @param fluidCollisionOption 流体碰撞选项
     * @param ignorePassableBlocks 是否忽略不可碰撞的方块
     * @return
     */
    RayTraceResult rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionOptionEnum fluidCollisionOption, boolean ignorePassableBlocks);
}
